package com.viviet.mobileservices.business;

import java.util.List;

import com.viviet.mobileservices.business.exception.OperationException;
import com.viviet.mobileservices.dao.entity.VMCustomer;
import com.viviet.mobileservices.dao.entity.VMQrCode;
import com.viviet.mobileservices.domain.info.BalanceInfo;
import com.viviet.mobileservices.domain.info.MessageInfo;
import com.viviet.mobileservices.domain.info.QRCodeInfo;
import com.viviet.mobileservices.domain.info.TransactionInfo;
import com.viviet.mobileservices.domain.model.CustomerModel;

public interface ICustomerService {
	BalanceInfo getBalance(CustomerModel model) throws OperationException;
	List<TransactionInfo> getTransactionsInfo(CustomerModel model);
	MessageInfo transferMoney(CustomerModel model) throws OperationException;
	VMCustomer loadCustomerByLoginId(String loginId);
	QRCodeInfo generateQRCode(CustomerModel model) throws OperationException;
	QRCodeInfo findQRCodeDetailInfo(String codeId) throws OperationException;
	MessageInfo registerUser(CustomerModel model) throws OperationException;
	MessageInfo changePassword(String customerId, String oldPassword, String newPassword);
}